/**
 *
 * @requires jQuery
 *
 * 将form表单元素的值序列化成对象
 *
 * @returns object
 */
function serializeObject($form) {
    var o = {};
    $.each($form.serializeArray(), function(index) {
        if (o[this['name']]) {
            o[this['name']] = o[this['name']] + "," + this['value'];
        } else {
            //UEDITOR编辑器取值
            var $editor = $('#ueditor_textarea_' + this['name']);
            if(window.UE && $editor.length > 0) o[this['name']] = window.BASE64.encoder($editor.val());
            else o[this['name']] = this['value'];
        }
    });
    return o;
};

/**
 * 默认的提交表单操作
 */
function submitForm(curd) {
    var $form = $('#pageForm');
    //表单验证
    if(!$form.form('validate')) {
        curd.layout.message('请检查您输入的数据', '错误提示!');
        return;
    }
    $.post(app.api + $form.attr('action'),serializeObject($form),function (res) {
        if(res.error == 0){
            if(res.url){
                curd.layout.openTab(res.url, res.message);
            }else{
                curd.layout.message(res.message, '操作成功!');
                curd.closeDialog();
                curd.reload();
            }
        }else{
            curd.layout.message(res.message, '操作失败!');
        }
    });
}


/**
 * 提交Tab页面中表单操作
 * @param string closeTitle 窗口名称
 */
function submitTabForm(closeTitle) {
    var $form = $('#pageForm');
    //表单验证
    if(!$form.form('validate')) {
        top.layout.message('请检查您输入的数据', '错误提示!');
        return false;
    }
    $.post(app.api + $form.attr('action'),serializeObject($form),function (res) {
        if(res.error == 0){
            top.layout.message(res.message, '操作成功!');
            if(res.url){
                top.layout.openTab(res.url, res.message);
            }
            if(closeTitle) top.layout.mainTab.tabs('close', closeTitle);
        }else{
            top.layout.message(res.message, '操作失败!');
        }
    });
}
$(function () {
    $.ajaxSetup({
        headers: {
            'Authorization': 'Bearer '+app.store('token')
        }
    });
})